<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:jb="http://java.sun.com/jsf/composite/componentes"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"            
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">
        <ui:define name="contenido">                 
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">          
                <p:panel id="pnlPrincipal" header="#{i18n['programacion.panel']} #{programacionMBean.dto.id}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid id="pgFormDto" columns="6" cellpadding="4">                                       
                        <h:outputLabel value="#{i18n['programacion.capa.label.descripcion']}" styleClass="label"/>
                        <p:inputText label="#{i18n['programacion.capa.label.descripcion']}"
                                     value="#{programacionMBean.dto.descripcion}"  readonly="#{sessionMBean.accion == 3 || programacionMBean.accesoGuardar}"
                                     required="true" size="65" onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                            <f:validateLength maximum="200" minimum="5" />
                        </p:inputText>
                        <h:outputLabel value="#{i18n['programacion.label.lugar.ejecucion']}" styleClass="label"/>
                        <p:inputText label="#{i18n['programacion.label.lugar.ejecucion']}"
                                     value="#{programacionMBean.dto.lugarEjecucion}"  readonly="#{sessionMBean.accion == 3 || programacionMBean.accesoGuardar}"
                                     required="true" size="65" onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                            <f:validateLength maximum="200" minimum="5" />
                        </p:inputText>
                        
                        <h:outputLabel value="#{i18n['programacion.label.inversion']}" styleClass="label"/>
                        <p:inputText label="#{i18n['programacion.label.inversion']}"
                                     value="#{programacionMBean.dto.inversion}"  readonly="true"
                                     required="true" size="23" onkeypress="return fn_validaTecla('decimal',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                            <f:validateLength maximum="200" minimum="1" />
                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/> 
                        </p:inputText>
                        
                        <h:outputLabel styleClass="label" value="#{i18n['programacion.label.piramidal']}"/>   
                        <p:selectBooleanButton value="#{programacionMBean.dto.piramidal}"  disabled="#{sessionMBean.accion == 3 || programacionMBean.accesoGuardar}" offLabel="#{i18n['general.button.no']}" onLabel="#{i18n['general.button.si']}"/>                        
                        
                        <h:outputLabel value="#{i18n['programacion.label.horario.ejecucion']}" styleClass="label"/>       
                        <p:inputTextarea label="#{i18n['programacion.label.horario.ejecucion']}" onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)"
                                         value="#{programacionMBean.dto.horarioEjecucion}"  readonly="#{sessionMBean.accion == 3 || programacionMBean.accesoGuardar}"
                                         maxlength="500" cols="50" rows="3"  style="#{applicationMBean.estiloObligatorio}">
                        </p:inputTextarea>
                        
                        <h:outputLabel value="#{i18n['programacion.label.numero.alumnos']}" styleClass="label"/>
                        <p:inputText label="#{i18n['programacion.label.numero.alumnos']}" id="numAlum"
                                     value="#{programacionMBean.numAlumnos}"  readonly="true"
                                     required="true" size="23" onkeypress="return fn_validaTecla('entero',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                            <f:validateLength maximum="200" minimum="1" />
                        </p:inputText>
                        
                    </h:panelGrid>

                </p:panel>       
                <p:panel id="pnlAcciones">
                    <h:panelGrid columns="10">                        
                        <p:commandButton title="#{i18n['general.button.guardar.tip']}" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                         icon="ui-icon ui-icon-disk" rendered="#{sessionMBean.privilegiosOpciones['342']=='true'}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');" disabled="#{programacionMBean.accesoGuardar}"
                                         value="#{i18n['general.button.guardar']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{programacionMBean.guardar}">                                    
                        </p:commandButton>  

                        <p:commandButton title="#{i18n['programacion.button.convocado']}" accesskey="#{applicationMBean.keyRetroceder}" ajax="false"
                                         icon="ui-icon ui-icon-disk" immediate="true"
                                         value="#{i18n['programacion.button.convocado']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{programacionMBean.convocado}" disabled="#{programacionMBean.accesoConvocado}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');"
                                         rendered="#{sessionMBean.privilegiosOpciones['344']=='true'}">                                    
                        </p:commandButton>   
                        
                        <p:commandButton title="#{i18n['programacion.button.ejecutado']}" accesskey="#{applicationMBean.keyRetroceder}" ajax="false"
                                         icon="ui-icon ui-icon-disk" immediate="true"
                                         value="#{i18n['programacion.button.ejecutado']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{programacionMBean.ejecutado}" disabled="#{programacionMBean.accesoEjecutado}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');"
                                         rendered="#{sessionMBean.privilegiosOpciones['345']=='true'}">                                    
                        </p:commandButton>
                        
                        <p:commandButton title="#{i18n['programacion.button.anular']}" accesskey="#{applicationMBean.keyRetroceder}" ajax="false"
                                         icon="ui-icon ui-icon-disk" immediate="true"
                                         value="#{i18n['programacion.button.anular']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{programacionMBean.anular}" disabled="#{programacionMBean.accesoAnular}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');"
                                         rendered="#{sessionMBean.privilegiosOpciones['343']=='true'}">                                    
                        </p:commandButton>   

                        <p:commandButton title="#{i18n['general.button.atras.tip']}" accesskey="#{applicationMBean.keyRetroceder}" ajax="false"
                                         icon="ui-icon ui-icon-arrowreturnthick-1-w" immediate="true"
                                         value="#{i18n['general.button.atras']}" style="#{applicationMBean.cssBotonAtras}"
                                         action="#{programacionMBean.retroceder}">                                    
                        </p:commandButton>  
                    </h:panelGrid>
                </p:panel>
                </h:form>            
                <h:form onsubmit="return checkSubmit();"  id="frmDetalleProgramacion" rendered="#{programacionMBean.dto.id != null}"> 
                    <p:panel id="pnlPrincipalDeta" header="#{i18n['programacion.label.requerimiento.lista']}" style="#{applicationMBean.estiloTitulo}" >

                        <h:panelGrid id="pngTabla" columns="1">

                            <h:panelGrid id="pgFormDtoDeta2" columns="13" cellpadding="4">
                                <p:commandButton title="#{i18n['programacion.boton.agregar.requerimiento']}"
                                                 icon="ui-icon ui-icon-plus" disabled="#{programacionMBean.validarEstadoAcciones}"
                                                 value="#{i18n['programacion.boton.agregar.requerimiento']}"
                                                 style="#{applicationMBean.cssBotonTransaccion}" 
                                                 rendered="#{sessionMBean.accion!=3 }"
                                                 oncomplete="carDialogReq.show()" update=":frmDetalle,:msgs"
                                                 action="#{programacionMBean.cargarPopupRequerimiento}">                                    
                                </p:commandButton>     
                            </h:panelGrid>
                             <p:dataTable id="tblRequeRimiento" value="#{programacionMBean.listaRequerimiento}" var="dtoRequeri"
                                             emptyMessage="#{i18n['programacion.label.requerimiento']}" styleClass="estiloPanel">                        
                                    <p:column style="text-align:center;">
                                        <h:panelGrid id="pgBotonesGrilla" columns="10" cellspacing="10" styleClass="estiloPanelGrid">
                                            <p:commandButton icon="ui-icon  ui-icon-close" title="#{i18n['general.button.eliminar']}" 
                                                             rendered="#{sessionMBean.privilegiosOpciones['284']=='true'}" ajax="true" immediate="true"
                                                             update=":frmPrincipal,:frmDetalleProgramacion:tblRequeRimiento, :msgs" disabled="#{programacionMBean.validarEstadoAcciones}"
                                                             action="#{programacionMBean.eliminarRequerimiento}">
                                                <f:setPropertyActionListener value="#{dtoRequeri}" target="#{programacionMBean.requerimientoCapaDto}" /> 
                                            </p:commandButton>
                                            <p:commandButton icon="ui-icon ui-icon-person" title="#{i18n['programacion.label.empleado']}" 
                                                             rendered="#{sessionMBean.privilegiosOpciones['284']=='true'}" ajax="true" 
                                                             update=":frmPopupPosibPost:pnlTablaPosibPost, :msgs"
                                                             oncomplete="carDialog.show()" disabled="#{programacionMBean.validarEstadoAcciones}"
                                                             action="#{requerimientoCapaMBean.cargarPopupEmpleado}">
                                                <f:setPropertyActionListener value="#{dtoRequeri}" target="#{programacionMBean.requerimientoCapaDto}" /> 
                                            </p:commandButton>
                                        </h:panelGrid>
                                    </p:column>
                                    <p:column headerText="#{i18n['programacion.label.requerimiento']}"  >
                                        <h:outputText value="#{dtoRequeri.descripcion}" styleClass="txtCampo" />
                                    </p:column>
                                    <p:column headerText="#{i18n['programacion.label.requerimiento.curso']}"  >
                                        <h:outputText value="#{dtoRequeri.cursoDto.descripcion}" styleClass="txtCampo" />
                                    </p:column>
                                    <p:column headerText="#{i18n['programacion.label.requerimiento.plan']}"  >
                                        <h:outputText value="#{dtoRequeri.plan}" styleClass="txtCampo" />
                                    </p:column>
                                    <p:column headerText="#{i18n['programacion.label.requerimiento.inversion']}"  >                    
                                        <p:inputText label="#{i18n['programacion.label.requerimiento.inversion']}"
                                                     value="#{dtoRequeri.inversion}" maxlength="6"
                                                    required="true" size="23" onkeypress="return fn_validaTecla('decimal',this)"
                                                    style="#{applicationMBean.estiloObligatorio}">
                                           <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/> 
                                        </p:inputText>
                                    </p:column>
                                    <p:column headerText="#{i18n['requerimiento.capa.label.proveedor']}"  >
                                        <h:outputText value="#{dtoRequeri.proveedor}" styleClass="txtCampo" />
                                    </p:column>
                                    <p:column headerText="#{i18n['requerimiento.label.fecha.inicio']}"  >
                                        <p:calendar value="#{dtoRequeri.fechaInicio}" label="#{i18n['gestion.talentos.desarrollo.fecha.inicio']}" 
                                                    pattern="#{applicationMBean.formatoFecha}" disabled="false" mindate="#{programacionMBean.fechaActual}"
                                                    style="#{applicationMBean.estiloObligatorio}" readonly="#{sessionMBean.accion == 3}">
                                             <f:convertDateTime pattern="#{applicationMBean.formatoFecha}" timeZone="#{applicationMBean.timeZone}"/>
                                        </p:calendar>
                                    </p:column>
                                    <p:column headerText="#{i18n['requerimiento.label.fecha.fin']}"  >
                                        <p:calendar value="#{dtoRequeri.fechaFin}" label="#{i18n['gestion.talentos.desarrollo.fecha.inicio']}" 
                                                    pattern="#{applicationMBean.formatoFecha}" disabled="false" mindate="#{programacionMBean.fechaActual}"
                                                    style="#{applicationMBean.estiloObligatorio}" readonly="#{sessionMBean.accion == 3}">
                                             <f:convertDateTime pattern="#{applicationMBean.formatoFecha}" timeZone="#{applicationMBean.timeZone}"/>
                                        </p:calendar>
                                    </p:column>
                                 <p:column style="text-align:center;" headerText="#{i18n['programacion.label.acciones']}" > 
                                        <p:commandButton icon="ui-icon ui-icon-calculator" title="#{i18n['programacion.label.roi']}" 
                                                         rendered="#{sessionMBean.accion!=3}" ajax="true" disabled="#{programacionMBean.validarEstadoAccionesEjecutado}"
                                                         oncomplete="carDialogRoi.show()" update=":frmDetalleProgramacion:tblRequeRimiento,:frmPrincipalRoi:idPgrRoi, :msgs"
                                                         action="#{programacionMBean.cargarPopUpRoi}">
                                            <f:setPropertyActionListener value="#{dtoRequeri}" target="#{programacionMBean.requerimientoCapaDto}" /> 
                                        </p:commandButton>
                                </p:column> 
                                    <p:column headerText="#{i18n['programacion.boton.requerimiento.agregar.alumno']}">
                                        <p:commandButton title="#{i18n['programacion.boton.requerimiento.agregar.alumno']}"
                                             icon="ui-icon ui-icon-person"
                                             value="#{i18n['programacion.boton.requerimiento.agregar.alumno']}"
                                             style="#{applicationMBean.cssBotonTransaccion}" 
                                             rendered="#{sessionMBean.accion!=3}"
                                             oncomplete="carDialogAlumno.show()" update=":frmAlumno:pnlPrincipalDeta, :msgs"
                                             action="#{programacionMBean.cargarListaAlumno}"> 
                                            <f:setPropertyActionListener value="#{dtoRequeri}" target="#{programacionMBean.requerimientoCapaDto}" /> 
                                        </p:commandButton> 
                                    </p:column>
                                </p:dataTable>
                        </h:panelGrid>
                    </p:panel>
                    <p:panel id="pnlAccionesReque">
                         <h:panelGrid columns="10">                        
                            <p:commandButton title="#{i18n['programacion.button.requerimiento']}" accesskey="#{applicationMBean.keyGuardar}" ajax="true"
                                             icon="ui-icon ui-icon-disk" rendered="#{sessionMBean.accion!=3}"
                                             disabled="#{programacionMBean.validarEstadoAcciones}"
                                             update=":frmPrincipal,:frmDetalleProgramacion:tblRequeRimiento, :msgs"
                                             value="#{i18n['programacion.button.requerimiento']}" style="#{applicationMBean.cssBotonTransaccion}" 
                                             action="#{programacionMBean.guardarRequerimientoFecha}">
                            </p:commandButton>
                         </h:panelGrid>       
                    </p:panel>
                </h:form>
                <p:dialog id="dialog" header="#{i18n['programacion.label.empleado']}" widgetVar="carDialog" resizable="false"  
                          width="1200" height="600" modal="true">  
                    <ui:include src="/pages/capa/popup/popupEmpleado.xhtml" /> 
                </p:dialog>
                <p:dialog id="dialogRoi" header="#{i18n['programacion.label.roi']}" widgetVar="carDialogRoi" resizable="false"  
                          width="700" height="580" modal="true">  
                    <ui:include src="/pages/capa/popup/popupRoi.xhtml" /> 
                </p:dialog>
                <p:dialog id="dialogAlumno" header="#{i18n['programacion.label.alumno']}" widgetVar="carDialogAlumno" resizable="false"  
                          width="1110" height="600" modal="true">  
                    
                    <ui:include src="/pages/capa/popup/popupAlumno.xhtml" /> 
                </p:dialog>
                <p:dialog id="dialogAlumnoDetalle" header="#{i18n['programacion.label.alumno.detalle']}" widgetVar="carDialogAlumnoDetalle" resizable="false"  
                          width="600" height="200" modal="true">  
                   
                    <ui:include src="/pages/capa/popup/popupAlumnoDetalle.xhtml" /> 
                </p:dialog>
                <p:dialog id="dialogReq" header="#{i18n['gestion.talentos.requerimiento']}" widgetVar="carDialogReq" resizable="false"  
                          width="510" height="500" modal="true">  
                    <ui:include src="/pages/capa/popup/popupRequerimiento.xhtml" /> 
                </p:dialog>            
        </ui:define>
    </ui:composition>
</html>